
// 文件列表dom
var fileListDom = $('.file-list');
var tempList = [];//临时图片名称数组，用于在每次上传完毕图片判断本数组中是否已经存在，如果不存在则继续添加，否则跳过
// 预览选择的文件
function appendFile(index, name, result) {
    // <span class="layui-badge layui-bg-blue">待上传</span>
    //<input type="button" class="layui-btn layui-btn-danger layui-btn-sm file-cancel" value="删除">
    let dom = '<div class="file-list-item file-temp" data-index="' + index + '"><div class="img-wrap">' +
        '<a style="position:absolute;right:0px;" href="javascript:void(0);" onclick="shanchu(this,' + index + ')"><img src="assets/recommend/images/shanchu.png" style="width:25px;height:25px;"></a>'
        + '<a href="' + result + '" target="_blank">'
        + '<img src="' + result + '" alt="' + name + '"></a></div>' +
        '<input type="hidden" name="data[imgList][]" value="' + result + '">' +
        '</div>';
    fileListDom.append(dom);
    fileCancelEvent();
}

//右上角删除
function shanchu(e, index) {
    layer.msg('删除')
    delete tempList[index]
    $(e).parent().parent().remove();
}

// 为待上传文件【取消】按钮添加点击事件
function fileCancelEvent() {
    fileListDom.find('.file-cancel').each(function () {
        const event = $._data($(this)[0], "events");
        // 仅对未绑定事件的按钮进行绑定
        if (!event || !event["click"]) {
            $(this).click(function () {
                var fileDom = $(this).parent().parent();
                var index = fileDom.data('index');
                if (index) {
                    deleteTempFile(index);
                }
                fileDom.remove();
            })
        }
    })
}


// 删除待上传的文件（从文件队列中删除文件）
function deleteTempFile(index) {
    if (index === 0) {
        // 清空文件队列中所有数据
        for (const key in uploadList) {
            delete uploadList[key];
        }
        // 隐藏上传按钮
        $('#uploader-submit').hide();
    } else {

        // delete uploadList[index];
        var number = Object.keys(uploadList).length;
        console.log(number);
        // 若上传文件队列中无数据则隐藏上传按钮
        if (number <= 0) {
            $('#uploader-submit').hide();
        }
    }
}

//注意：选项卡 依赖 element 模块，否则无法进行功能性操作
layui.use(['element', 'layer', 'upload'], function () {
    var element = layui.element;
    var layer = layui.layer;
    var upload = layui.upload;

    // 上传文件队列
    var uploadList = {};
    //商品链接，每个链接用分号分隔
    var imgList = '';

    //执行实例
    var uploadInst = upload.render({
        elem: '#uploader-choose', //绑定元素
        url: 'index.php?s=/recommend/enterprise/selfUpload', //上传接口
        accept: 'file',
        acceptMime: 'image/*,.pdf',
        exts: 'jpg|png|gif|bmp|jpeg|pdf',
        auto: true,
        bindAction: '#uploader-submit',
        multiple: true,
        number: 10,
        // 选择文件的回调
        choose: function (obj) {
            // 展示上传按钮
            //$('#uploader-submit').show();

            // 将每次选择的文件追加到文件队列
            //uploadList = obj.pushFile();
            this.files = obj.pushFile();
            const len = fileListDom.find('.file-list-item').length;
            // 还可以上传的文件数量
            const limit = 10 - len;

            var number = 0;
            // 预读本地文件，如果是多文件，则会遍历。(不支持ie8/9)
            obj.preview(function (index, file, result) {
                if (number < limit) {
                    number++;
                    //appendFile(index, file.name, result);
                } else {
                    deleteTempFile(index)
                }
            })

            //$('#uploader-submit').click();
        },
        // 上传接口请求成功的回调
        before: function (obj) {
            layer.load(1);

        },
        //上传完毕回调
        done: function (res, index) {

            if (res.code == 1) {
                var path2 = res.imagePath;
                // 添加上传返回的数据到对应的文件中
                // if (imgList == '') {
                //     imgList = path2 + ';';
                // } else {
                //     imgList = imgList + path2 + ';';
                // }
                // //去掉末尾分号
                // var str = imgList.substring(0, imgList.length - 1);
                // console.log(str);
                // $('#imgList').val(str);

                tempList.push(res.name);
                console.log(tempList);
                appendFile(tempList.length - 1, res.name, path2);
                $(this).find('.layui-badge').remove();
                $('.layui-layer-shade').remove();
                //layui-layer layui-layer-loading
                $('.layui-layer.layui-layer-loading').remove();
                delete this.files[index];
            }

        },
        //当文件全部被提交后，才触发
        allDone: function (obj) {
            layer.msg("已上传 " + obj.successful + " 个文件");
            layer.closeAll('loading');
            //deleteTempFile(0)

        },
        //请求异常回调
        error: function () { }
    });

});